package cn.ucloud.ufile.util;

/**
 * @description: 对象存储类型
 * <p>
 * 存储类型转换
 * 支持以下存储类型的自动转换：
 * <p>
 * 标准存储转换为低频存储
 * 标准存储转换为归档存储
 * 低频存储转换为归档存储
 * <p>
 * <p>
 * 备注：
 * <p>
 * 1.对于需要将归档类型的文件重新转换为标准类型或低频类型的文件，低频类型文件转换为标准类型的文件，可以通过重新上传文件，指定对应存储类型来实现存储类型转换。
 * <p>
 * 例如，用户需要将已经存储成低频类型的文件重新转换成标准类型，可以重新上传该文件，上传的时候指定标准存储类型，新写入的文件是标准存储类型。
 * <p>
 * 2.对于已经转储成归档类型的文件，需要先执行Restore操作，解冻成可读取状态后，才能被读取。
 * <p>
 * API	                标准存储类型	低频访问存储类型	归档存储类型
 * 空间管理
 * CreateBucket	            支持	    支持	        支持
 * DescribeBucket	        支持	    支持	        支持
 * UpdateBucket	            支持	    支持	        支持
 * DeleteBucket	            支持	    支持	        支持
 * <p>
 * 文件管理
 * PutFile	                支持	    支持	        支持
 * PostFile                 支持         支持            支持
 * UploadHit	            支持	    支持	        支持
 * GetFile	                支持	    支持	        支持，需要先激活
 * HEADFile	                支持	    支持	        支持
 * DeleteFile	            支持	    支持	        支持
 * <p>
 * Multipart操作
 * InitiateMultipartUpload	支持	    支持	        支持
 * UploadPart	            支持	    支持	        支持
 * FinishMultipartUpload	支持	    支持	        支持
 * AbortMultipartUpload	    支持	    支持	        支持
 * PrefixFileList	        支持	    支持	        支持
 * RestoreObject	        不支持	    支持	        支持
 * <p>
 * 其他功能的API
 * 日志管理	                支持	    支持	        支持
 * 跨区域复制	            支持	    支持	        支持
 * Referer防盗链	            支持	    支持	        支持
 * 生命周期	                支持	    支持	        支持（PUT接口，只支持数据回收）
 * 跨域设置	                支持	    支持	        支持
 * 图片处理	                支持	    支持	        支持
 * <p>
 * <p>
 * @author: joshua
 * @E-mail: joshua.yin@ucloud.cn
 * @date: 2019/9/26 16:57
 */
public class StorageType {
    /**
     * 标准存储：提供高可靠、高可用、高性能的对象存储服务，具有高吞吐和低延时的服务响应能，能够支持频繁的热点数据访问。
     * 数据持久性：99.999999999%
     * 可用性：99.99%
     * 访问：实时访问
     * 适用场景：各种社交、分享类的图片、音视频应用、大型网站、大数据分析、移动应用、游戏程序
     */
    public static final String STANDARD = "STANDARD";
    /**
     * 低频存储：提供高可靠性，较低存储成本和较低访问时延的对象存储服务，适合长期保存不经常访问的数据。
     * 存储单价低于标准类型，低频存储有最短存储时间和最小对象大小，存储时间短于30天提前被删除会产生一定费用。单个文件大小低于64KB，
     * 会按照64KB计算存储空间，数据获取会产生费用。
     * 数据持久性：99.999999999%
     * 可用性：99.0%
     * 访问：实时访问
     * 适用场景：各类移动应用、智能设备、政企业务数据、企业数据的长期备份，支持实时数据访问
     */
    public static final String IA = "IA";
    /**
     * 归档存储：提供了高可靠性，极低存储成本和长期保存的离线冷数据存储，适合需要长期保存（建议半年以上）的归档数据，
     * 在存储周期内极少被访问。在三种存储类型中单价最低，归档存储有有最短存储时间和和最小对象大小，
     * 存储时间短于60天的文件提前删除会产生一定费用。文件大小低于64KB，会按照64KB计算存储空间，数据获取会产生费用。
     * 数据持久性：99.999999999%
     * 可用性：99.0%
     * 访问：访问前需要解冻，从冷冻状态恢复到可读取状态需要几十秒等待时间
     * 适用场景：长期保存的档案数据等合规性文件归档、医疗影像、科学资料、影视素材
     */
    public static final String ARCHIVE = "ARCHIVE";
}
